1. Field of the Invention
The present invention relates generally to improving performance in data storage devices. More specifically, the present invention relates to extending the service life of a data storage device.
2. Related Art
Wear leveling generally describes techniques for prolonging the service life of some kinds of erasable computer storage media, such as EEPROM and flash memory. Storage media such as EEPROM and flash memory media have individually erasable segments or blocks, each of which can be put through a limited number of erase cycles before becoming unreliable. When information is to be written to a particular block in EEPROM or flash memory, that entire block must first be erased. With some file systems such as FAT32, an operating system such as Microsoft Windows XP or Vista updates FAT tables for every megabyte written. This exemplifies how certain blocks may be highly stressed relative to other blocks in some kinds of erasable computer storage media.
Two general classes of wear leveling exist: dynamic wear leveling and static wear leveling. Dynamic wear leveling spreads out write operations by using a portion of the total blocks in a circular FIFO. This FIFO can be filled quickly during small file transfers resulting in the same set of free blocks being repeatedly erased. This can lead to a small set of blocks being over-stressed. In static wear leveling, data at rest is moved around within memory to ensure that all blocks in a medium are written to evenly, thereby increasing service life of that medium. Present implementations of static wear leveling suffer drawbacks affecting device performance. As such, there is a need for an improved technique for wear leveling.